package com.xique.park.service.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xique.park.bean.domain.ParkCarMngtypeLane;

/**
 * 车辆管理类型-通道通行权限关系Service接口
 *
 * @author xique
 * @date 2021-12-09
 */
public interface IParkCarMngtypeLaneService extends IService<ParkCarMngtypeLane> {

    /**
     * 查询车辆管理类型-通道通行权限关系
     *
     * @param id 车辆管理类型-通道通行权限关系ID
     * @return 车辆管理类型-通道通行权限关系
     */
    ParkCarMngtypeLane selectParkCarMngtypeLaneById(Long id);

    /**
     * 查询车辆管理类型-通道通行权限关系列表
     *
     * @param parkId             车场ID
     * @param parkCarMngtypeLane 车辆管理类型-通道通行权限关系
     * @return 车辆管理类型-通道通行权限关系集合
     */
    List<ParkCarMngtypeLane> selectParkCarMngtypeLaneList(Long parkId, ParkCarMngtypeLane parkCarMngtypeLane);

    /**
     * 批量查询
     *
     * @param ids ids
     * @return 查询结果
     */
    List<ParkCarMngtypeLane> selectBatchIds(List<Long> ids);

    /**
     * 新增车辆管理类型-通道通行权限关系
     *
     * @param parkCarMngtypeLane 车辆管理类型-通道通行权限关系
     * @return 结果
     */
    int insertParkCarMngtypeLane(ParkCarMngtypeLane parkCarMngtypeLane);

    /**
     * 修改车辆管理类型-通道通行权限关系
     *
     * @param parkCarMngtypeLane 车辆管理类型-通道通行权限关系
     * @return 结果
     */
    int updateParkCarMngtypeLane(ParkCarMngtypeLane parkCarMngtypeLane);

    /**
     * 批量删除车辆管理类型-通道通行权限关系
     *
     * @param ids 需要删除的车辆管理类型-通道通行权限关系ID
     * @return 结果
     */
    int deleteParkCarMngtypeLaneByIds(List<Long> ids);

    /**
     * 删除车辆管理类型-通道通行权限关系信息
     *
     * @param id 车辆管理类型-通道通行权限关系ID
     * @return 结果
     */
    int deleteParkCarMngtypeLaneById(Long id);

    /**
     * 批量插入
     *
     * @param list /
     * @return /
     */
    int batchInsert(List<ParkCarMngtypeLane> list);

    /**
     * 批量更新
     *
     * @param list /
     * @return /
     */
    int batchUpdate(List<ParkCarMngtypeLane> list);

    /**
     * 根据车辆管理类型id查询
     *
     * @param carMngtypeIds 车辆管理类型id
     * @return 查询结果
     */
    List<ParkCarMngtypeLane> selectBatchcarMngtypeIds(List<Long> carMngtypeIds);
}
